// 1-19 实例-19 一个简单的计算器
/**
 * 使用 C++ 创建一个简单的计算器，可以实现 +, -, *, / 。
 */
#include <iostream>
#include <map>
float add(float a, float b) { return a + b; }
float sub(float a, float b) { return a - b; }
float mul(float a, float b) { return a * b; }
float div(float a, float b) { return a / b; }
int main(void)
{

  std::map<char, float (*)(float, float)> fun;
  fun['+'] = add;
  fun['-'] = sub;
  fun['*'] = mul;
  fun['/'] = div;
  char op;
  std::cout << "请输入运算符(+、-、*、/):";
  std::cin >> op;

  if (fun.count(op))
  {
    int a, b;
    std::cout << "请输入两个数:";
    std::cin >> a >> b;
    std::cout << a << op << b << ":" << fun[op](a, b) << std::endl;
  }
  else
  {
    std::cout << "运算符输入有误！" << std::endl;
    ;
  }
  printf("---------------end-----------------\n");
  return 0;
}